Skip to content
All courses
EMB 315
Term 6
3 credits

DSP for Embedded Systems

EMB 315 introduces students to the fundamental concepts of Digital Signal Processing (DSP) tailored for embedded systems. The course begins with a review of discrete-time signals and systems, the Z-transform, and Fourier analysis, establishing a strong theoretical foundation. A major emphasis is placed on the practical aspects of DSP implementation, including the challenges and solutions associated with fixed-point arithmetic, quantization effects, and real-time processing constraints inherent in embedded environments. Students will learn how to efficiently port DSP algorithms to resource-constrained microcontrollers and digital signal processors (DSPs). Key topics include the design and implementation of various digital filters (FIR, IIR), spectral analysis techniques like the Fast Fourier Transform (FFT), and an introduction to adaptive filters and multi-rate DSP. Through hands-on laboratory exercises and programming assignments, students will gain experience in selecting appropriate DSP algorithms, optimizing code for speed and memory, and verifying their implementations on embedded hardware platforms. The course will also touch upon common DSP applications in embedded systems, such as audio processing, sensor data filtering, and control systems.

Prerequisites

Course outline

Lectures, virtual labs, and graded assignments — completed in your browser.

01Introduction to Embedded DSP & Signalslecture
02Z-Transform & System Analysislecture
03DFT and FFT Implementation & Analysislab
04FIR Filter Design Methodslecture
05FIR Filter Design & Simulationassignment
06IIR Filter Design Methodslecture
07FIR & IIR Filter Implementationlab
08Fixed-Point Arithmetic & Quantizationlecture
09Fixed-Point DSP Optimizationassignment
10Multi-rate DSP & Sampling Rate Conversionlecture
11Adaptive Filtering & Applicationslecture
12Real-time Audio Processing on Embedded Systemlab
13Comprehensive Midterm Reviewlecture
14Final Reviewlecture

Syllabus

### Course Outcomes
Upon successful completion of this course, students will be able to:
*   CO1: Analyze discrete-time signals and systems using Z-transforms and discrete Fourier transforms.
*   CO2: Design and implement digital filters (FIR and IIR) for embedded applications.
*   CO3: Understand and mitigate the effects of fixed-point arithmetic and quantization in DSP systems.
*   CO4: Apply efficient algorithms like the Fast Fourier Transform (FFT) for spectral analysis.
*   CO5: Select and apply appropriate DSP techniques for common embedded system problems.
*   CO6: Implement and test DSP algorithms on embedded processors using C/C++.

### Weekly Topic List
*   **Week 1:** Introduction to DSP for Embedded Systems, Discrete-Time Signals & Systems Review
*   **Week 2:** Z-Transform and its Applications, Frequency Response
*   **Week 3:** Discrete Fourier Transform (DFT) and Fast Fourier Transform (FFT)
*   **Week 4:** FIR Filter Design Techniques (Windowing, Frequency Sampling)
*   **Week 5:** FIR Filter Implementation on Embedded Processors, Fixed-Point Arithmetic I
*   **Week 6:** IIR Filter Design Techniques (Bilinear Transform, Impulse Invariance)
*   **Week 7:** IIR Filter Implementation on Embedded Processors, Fixed-Point Arithmetic II
*   **Week 8:** Real-time DSP Architectures and Memory Considerations
*   **Week 9:** Sampling Rate Conversion (Decimation, Interpolation) and Multi-rate DSP
*   **Week 10:** Adaptive Filters: Introduction and Basic Algorithms (LMS)
*   **Week 11:** Introduction to Wavelet Transforms and Image Processing Basics
*   **Week 12:** Practical DSP Applications: Audio Processing, Sensor Filtering, Control Loops
*   **Week 13:** Comprehensive Midterm Review
*   **Week 14:** Final Review

### Grading Policy
*   Knowledge Checks: 15%
*   Assignments/Labs: 30%
*   Quizzes: 25%
*   Final Exam: 30%

### Required Materials
*   **Textbook:** Oppenheim, A. V., & Schafer, R. W. (2010). *Discrete-Time Signal Processing* (3rd ed.). Pearson.
*   **Software:** MATLAB/Octave, C/C++ compiler for embedded systems (e.g., GCC for ARM Cortex-M), Integrated Development Environment (IDE) compatible with selected embedded platform.
*   **Hardware:** Access to a basic embedded development board with a microcontroller capable of DSP operations (e.g., STM32F4 Discovery Board or similar ARM Cortex-M4/M7).